// C++ author 清晨与猫鱼
#include <iostream>
#include <string>
#include "Realize.h"

using namespace std;

int main(const int argc, const char** argv)
{	
    // 圆形
	unique_ptr<Shape> circle(new Circle);

    // 红色圆形
    unique_ptr<ShapeDecorator> redCircle(new RedShapeDecorator(new Circle));

    // 红色长方形
    unique_ptr<ShapeDecorator> redRectangle(new RedShapeDecorator(new Rectangle));

    circle->draw();

    redCircle->draw();

    redRectangle->draw();

    return 0;
}